package uiMain;

import gestorbienraizok.usuarios.Funcionario;
import java.util.Scanner;
import static uiMain.bienRaizOk.entrada;
import static uiMain.bienRaizOk.formatearPrecio;
import static uiMain.bienRaizOk.usuarioActual;

public class OpcionConsultarSalario extends OpcionDeMenu {

    private String nombreParaMostrar = " Consultar mi pago para un mes específico";

    @Override
    public void ejecutar() {
        Funcionario esteFuncionario = (Funcionario) usuarioActual;

        entrada = new Scanner(System.in);
        byte mes;
        do {
            System.out.print("Ingrese el número del mes para el cual desea consultar su pago (1-12): ");
            mes = entrada.nextByte();
        } while (mes < 0 || mes > 12);

        entrada = new Scanner(System.in);
        int anho;
        do {
            System.out.print("Ingrese el año: ");
            anho = entrada.nextInt();
        } while (anho < 0);

        float[] comisionPorVentas = {0};
        float[] comisionPorArrendamientos = {0};

        esteFuncionario.calcularSalario(mes, anho, comisionPorVentas, comisionPorArrendamientos);
        String[] nombreMeses = {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
        System.out.println("Su pago para el mes de " + (nombreMeses[mes - 1]).toLowerCase() + " de " + anho + " es el siguiente:\n");
        System.out.println("Concepto                        Valor");
        System.out.println("--------------------------------------------");
        System.out.print("Salario base                    " + "$" + (String.format("%12s", formatearPrecio(esteFuncionario.getSalarioBase()))).replace("$", "") + "\n");        
        System.out.print("Comisiones por arrendamientos   " + "$" + (String.format("%12s", formatearPrecio(comisionPorArrendamientos[0]))).replace("$", "") + "\n");
        System.out.print("Comisiones por ventas           " + "$" + (String.format("%12s", formatearPrecio(comisionPorVentas[0]))).replace("$", "") + "\n");
        System.out.print("--------------------------------------------\n");
        System.out.print("TOTAL                           " + "$" + (String.format("%12s", formatearPrecio(esteFuncionario.getSalarioBase() + comisionPorArrendamientos[0] + comisionPorVentas[0]))).replace("$", "") + "\n\n");
    }

    @Override
    public String toString() {
        return nombreParaMostrar;
    }
    
    @Override
    public String toStringParaMostrarElNivel() {
        return nombreParaMostrar.trim().concat("...................................................................").substring(0,67) + "Funcionarios";
    }
}
